home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / javascript_html.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  5.1 KB  |  155 lines

  1. //Language: Java Script in HTML
  2. //Copyright (c) 1992-2002 Altium Limited             
  3. //All rights reserved.                               
  4. //http://www.dream-com.com                           
  5. //contact@dream-com.com                              
  6.  
  7. // states
  8. State=snormal
  9. State=sstring1
  10. State=sstring2
  11. State=sstring3
  12. State=sstring4
  13. State=scomment1
  14. State=scomment2
  15. State=scomment3
  16. State=shtmltag
  17. State=sHTMLjs
  18.  
  19. // tokens
  20. Token=tnone
  21. Token=tstring
  22. Token=tcomment
  23. Token=tident
  24. Token=tinteger
  25. Token=tfloat
  26. Token=tresword
  27. Token=tassembler
  28. Token=turl
  29. Token=twhitespace
  30. Token=tresword1
  31. //delims
  32. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  33.  
  34. // numbers
  35. shtmltag [0-9][0-9]*              shtmltag  tinteger
  36. shtmltag \#[0-9A-F]+              shtmltag  tinteger
  37. shtmltag [1-9][0-9]*\.[0-9]*                    shtmltag  tfloat
  38. shtmltag [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ shtmltag   tfloat
  39.  
  40.  
  41. //white space
  42. snormal #32*                      snormal   twhitespace
  43.  
  44.  
  45. //strings
  46. shtmltag   \'                     sstring1   tstring
  47. sstring1   [^\']*                 sstring1   tstring
  48. sstring1   \'                     shtmltag   tstring
  49. sstring1   \'\'                   sstring1   tstring
  50. sstring1   $                      shtmltag   tstring
  51.  
  52. //strings
  53. shtmltag    \"                    sstring2   tstring
  54. sstring2   [^\"]*                 sstring2   tstring
  55. sstring2   \"                     shtmltag   tstring
  56. sstring2   \"\"                   sstring2   tstring
  57. sstring2   $                      shtmltag   tstring
  58.  
  59. //Common
  60. snormal <                          shtmltag  tresword1
  61. shtmltag [^\>^\'^\"^\0-9^#32^\=][^\>^\'^\"^#32^\=]*  shtmltag  tresword1
  62. shtmltag >                         snormal   tresword1
  63.  
  64. //comments
  65. snormal   <\!--                    scomment1 tcomment
  66. scomment1 [^\-]*                   scomment1 tcomment
  67. scomment1  -->                     snormal   tcomment
  68.  
  69. //------------------------------------------------------------------------------
  70. // This is the JavaScript
  71.  
  72. //JS
  73. snormal     <script#32language="jscript">    sHTMLjs   tresword
  74. sHTMLjs      </script>                        snormal  tresword
  75.  
  76. snormal     <script#32language="javascript"> sHTMLjs   tresword
  77. sHTMLjs      </script>                        snormal  tresword
  78.  
  79.  
  80. // reswords
  81. sHTMLjs 'break'     sHTMLjs tresword
  82. sHTMLjs 'case'      sHTMLjs tresword
  83. sHTMLjs 'catch'     sHTMLjs tresword
  84. sHTMLjs 'class'     sHTMLjs tresword
  85. sHTMLjs 'const'     sHTMLjs tresword
  86. sHTMLjs 'continue'  sHTMLjs tresword
  87. sHTMLjs 'debugger'  sHTMLjs tresword
  88. sHTMLjs 'default'   sHTMLjs tresword
  89. sHTMLjs 'delete'    sHTMLjs tresword
  90. sHTMLjs 'do'        sHTMLjs tresword
  91. sHTMLjs 'else'      sHTMLjs tresword
  92. sHTMLjs 'enum'      sHTMLjs tresword
  93. sHTMLjs 'export'    sHTMLjs tresword
  94. sHTMLjs 'extends'   sHTMLjs tresword
  95. sHTMLjs 'false'     sHTMLjs tresword
  96. sHTMLjs 'finally'   sHTMLjs tresword
  97. sHTMLjs 'for'       sHTMLjs tresword
  98. sHTMLjs 'function'  sHTMLjs tresword
  99. sHTMLjs 'if'        sHTMLjs tresword
  100. sHTMLjs 'import'    sHTMLjs tresword
  101. sHTMLjs 'in'        sHTMLjs tresword
  102. sHTMLjs 'new'       sHTMLjs tresword
  103. sHTMLjs 'null'      sHTMLjs tresword
  104. sHTMLjs 'return'    sHTMLjs tresword
  105. sHTMLjs 'super'     sHTMLjs tresword
  106. sHTMLjs 'switch'    sHTMLjs tresword
  107. sHTMLjs 'this'      sHTMLjs tresword
  108. sHTMLjs 'throw'     sHTMLjs tresword
  109. sHTMLjs 'true'      sHTMLjs tresword
  110. sHTMLjs 'try'       sHTMLjs tresword
  111. sHTMLjs 'typeof'    sHTMLjs tresword
  112. sHTMLjs 'var'       sHTMLjs tresword
  113. sHTMLjs 'void'      sHTMLjs tresword
  114. sHTMLjs 'while'     sHTMLjs tresword
  115. sHTMLjs 'with'      sHTMLjs tresword
  116.  
  117. //idents
  118. sHTMLjs   [a-z_A-Z][a-z_A-Z0-9]*  sHTMLjs   tident
  119.  
  120. // numbers
  121. sHTMLjs [0-9][0-9]*                            sHTMLjs  tinteger
  122. sHTMLjs 0x[0-9A-F]+                            sHTMLjs  tinteger
  123. sHTMLjs 0X[0-9A-F]+                            sHTMLjs  tinteger
  124. sHTMLjs [1-9][0-9]*\.[0-9]*                    sHTMLjs  tfloat
  125. sHTMLjs [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ sHTMLjs   tfloat
  126.  
  127. //strings
  128. sHTMLjs   \"                     sstring3   tstring
  129. sstring3  [^\"]*                 sstring3   tstring
  130. sstring3  \"                     sHTMLjs    tstring
  131. sstring3  \"\"                   sstring3   tstring
  132. sstring3  \\                     sstring3   tstring
  133. sstring3  \\\"                   sstring3   tstring
  134. sstring3  $                      sHTMLjs    tstring
  135.  
  136. sHTMLjs   \'                     sstring4   tstring
  137. sstring4  [^\']*                 sstring4   tstring
  138. sstring4  \'                     sHTMLjs    tstring
  139. sstring4  \'\'                   sstring4   tstring
  140. sstring4  \\                     sstring4   tstring
  141. sstring4  \\\'                   sstring4   tstring
  142. sstring4  $                      sHTMLjs    tstring
  143.  
  144. //comments
  145. sHTMLjs    //                      scomment2   tcomment
  146. scomment2  [#1-#255]*              sHTMLjs     tcomment
  147. scomment2 $                        sHTMLjs     tcomment
  148.  
  149. sHTMLjs   /\*                     scomment3  tcomment
  150. scomment3 [^\*]*                  scomment3  tcomment
  151. scomment3 \*[^/]                  scomment3  tcomment
  152. scomment3 [\*]*/                  sHTMLjs   tcomment
  153.  
  154.  
  155.